package com.eshop.tools.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.sql.Timestamp;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

@TableName("picture")
public class Picture implements Serializable
{
    @TableId
    private Long id;
    @TableField(fill = FieldFill.INSERT)
    private Timestamp createTime;
    private String deleteUrl;
    private String filename;
    private String height;
    private String size;
    private String url;
    private String username;
    private String width;
    private String md5code;
    
    public void copy(final Picture source) {
        BeanUtil.copyProperties((Object)source, (Object)this, CopyOptions.create().setIgnoreNullValue(true));
    }
    
    public Long getId() {
        return this.id;
    }
    
    public Timestamp getCreateTime() {
        return this.createTime;
    }
    
    public String getDeleteUrl() {
        return this.deleteUrl;
    }
    
    public String getFilename() {
        return this.filename;
    }
    
    public String getHeight() {
        return this.height;
    }
    
    public String getSize() {
        return this.size;
    }
    
    public String getUrl() {
        return this.url;
    }
    
    public String getUsername() {
        return this.username;
    }
    
    public String getWidth() {
        return this.width;
    }
    
    public String getMd5code() {
        return this.md5code;
    }
    
    public void setId(final Long id) {
        this.id = id;
    }
    
    public void setCreateTime(final Timestamp createTime) {
        this.createTime = createTime;
    }
    
    public void setDeleteUrl(final String deleteUrl) {
        this.deleteUrl = deleteUrl;
    }
    
    public void setFilename(final String filename) {
        this.filename = filename;
    }
    
    public void setHeight(final String height) {
        this.height = height;
    }
    
    public void setSize(final String size) {
        this.size = size;
    }
    
    public void setUrl(final String url) {
        this.url = url;
    }
    
    public void setUsername(final String username) {
        this.username = username;
    }
    
    public void setWidth(final String width) {
        this.width = width;
    }
    
    public void setMd5code(final String md5code) {
        this.md5code = md5code;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Picture)) {
            return false;
        }
        final Picture other = (Picture)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0065: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0065;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        Label_0102: {
            if (this$createTime == null) {
                if (other$createTime == null) {
                    break Label_0102;
                }
            }
            else if (this$createTime.equals(other$createTime)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$deleteUrl = this.getDeleteUrl();
        final Object other$deleteUrl = other.getDeleteUrl();
        Label_0139: {
            if (this$deleteUrl == null) {
                if (other$deleteUrl == null) {
                    break Label_0139;
                }
            }
            else if (this$deleteUrl.equals(other$deleteUrl)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$filename = this.getFilename();
        final Object other$filename = other.getFilename();
        Label_0176: {
            if (this$filename == null) {
                if (other$filename == null) {
                    break Label_0176;
                }
            }
            else if (this$filename.equals(other$filename)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$height = this.getHeight();
        final Object other$height = other.getHeight();
        Label_0213: {
            if (this$height == null) {
                if (other$height == null) {
                    break Label_0213;
                }
            }
            else if (this$height.equals(other$height)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$size = this.getSize();
        final Object other$size = other.getSize();
        Label_0250: {
            if (this$size == null) {
                if (other$size == null) {
                    break Label_0250;
                }
            }
            else if (this$size.equals(other$size)) {
                break Label_0250;
            }
            return false;
        }
        final Object this$url = this.getUrl();
        final Object other$url = other.getUrl();
        Label_0287: {
            if (this$url == null) {
                if (other$url == null) {
                    break Label_0287;
                }
            }
            else if (this$url.equals(other$url)) {
                break Label_0287;
            }
            return false;
        }
        final Object this$username = this.getUsername();
        final Object other$username = other.getUsername();
        Label_0324: {
            if (this$username == null) {
                if (other$username == null) {
                    break Label_0324;
                }
            }
            else if (this$username.equals(other$username)) {
                break Label_0324;
            }
            return false;
        }
        final Object this$width = this.getWidth();
        final Object other$width = other.getWidth();
        Label_0361: {
            if (this$width == null) {
                if (other$width == null) {
                    break Label_0361;
                }
            }
            else if (this$width.equals(other$width)) {
                break Label_0361;
            }
            return false;
        }
        final Object this$md5code = this.getMd5code();
        final Object other$md5code = other.getMd5code();
        if (this$md5code == null) {
            if (other$md5code == null) {
                return true;
            }
        }
        else if (this$md5code.equals(other$md5code)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof Picture;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * 59 + (($createTime == null) ? 43 : $createTime.hashCode());
        final Object $deleteUrl = this.getDeleteUrl();
        result = result * 59 + (($deleteUrl == null) ? 43 : $deleteUrl.hashCode());
        final Object $filename = this.getFilename();
        result = result * 59 + (($filename == null) ? 43 : $filename.hashCode());
        final Object $height = this.getHeight();
        result = result * 59 + (($height == null) ? 43 : $height.hashCode());
        final Object $size = this.getSize();
        result = result * 59 + (($size == null) ? 43 : $size.hashCode());
        final Object $url = this.getUrl();
        result = result * 59 + (($url == null) ? 43 : $url.hashCode());
        final Object $username = this.getUsername();
        result = result * 59 + (($username == null) ? 43 : $username.hashCode());
        final Object $width = this.getWidth();
        result = result * 59 + (($width == null) ? 43 : $width.hashCode());
        final Object $md5code = this.getMd5code();
        result = result * 59 + (($md5code == null) ? 43 : $md5code.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "Picture(id=" + this.getId() + ", createTime=" + this.getCreateTime() + ", deleteUrl=" + this.getDeleteUrl() + ", filename=" + this.getFilename() + ", height=" + this.getHeight() + ", size=" + this.getSize() + ", url=" + this.getUrl() + ", username=" + this.getUsername() + ", width=" + this.getWidth() + ", md5code=" + this.getMd5code() + ")";
    }
}
